package com.h3c.nem.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.h3c.nem.enums.IdTypeEnum;
import com.h3c.nem.enums.OfferWorkerFillStageEnum;
import com.h3c.nem.enums.OfferWorkerStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 预备员工基本信息(TbOfferWorker)VO类
 *
 * @author jianhaohui
 * @since 2022-05-31 13:16:58
 */
@Data
public class TbOfferWorkerVO implements Serializable {
    private static final long serialVersionUID = 1L;
    
    @ApiModelProperty(value = "预备工号")
    private String workerId;

    private String beiSenId;
    
    @ApiModelProperty(value = "姓名")
    private String workerName;

    @ApiModelProperty(value = "姓名（拼音）")
    private String namePinyin;

    @ApiModelProperty(value = "姓（拼音）")
    private String firstPinyin;

    @ApiModelProperty(value = "名（拼音）")
    private String lastPinyin;
    
    @ApiModelProperty(value = "曾用名")
    private String oldName;
    
    @ApiModelProperty(value = "证件类型：身份证；护照；（直接存名称）")
    private IdTypeEnum certType;
    
    @ApiModelProperty(value = "证件号码")
    private String certNo;
    
    @ApiModelProperty(value = "生日")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone="Asia/Shanghai")
    private Date birthday;
    
    @ApiModelProperty(value = "电话号码")
    private String phoneNo;
    
    @ApiModelProperty(value = "邮箱地址")
    private String email;
    
    @ApiModelProperty(value = "性别：男/女（直接存名字）")
    private String sex;
    
    @ApiModelProperty(value = "通讯地址")
    private String contactAddress;
    
    @ApiModelProperty(value = "政治面貌")
    private String politicalLandscape;
    
    @ApiModelProperty(value = "入党日期（仅入党时才需要填）")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone="Asia/Shanghai")
    private Date addPartyDate;
    
    @ApiModelProperty(value = "国籍")
    private String nationality;
    
    @ApiModelProperty(value = "籍贯")
    private String nationPlace;
    
    @ApiModelProperty(value = "国籍编码")
    private String nationalityCode;
    
    @ApiModelProperty(value = "户口城市")
    private String houseHoldCity;

    private String houseHoldAddress;
    
    @ApiModelProperty(value = "户口性质")
    private String houseHoldCode;
    
    @ApiModelProperty(value = "民族")
    private String nation;
    
    @ApiModelProperty(value = "参加工作日期（社会工作日期）")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone="Asia/Shanghai")
    private Date firstWorkDate;
    
    @ApiModelProperty(value = "档案所在单位")
    private String archiveOrg;
    
    @ApiModelProperty(value = "参保地")
    private String insuredCity;
    
    @ApiModelProperty(value = "外国永久居留权:拥有/没有")
    private String foreignResidency;
    
    @ApiModelProperty(value = "外国永久居留权国家")
    private List<String> foreignResidencyCountryCode;
    
    @ApiModelProperty(value = "上家公司离职日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone="Asia/Shanghai")
    private Date lastLeaveDate;
    
    @ApiModelProperty(value = "员工申请入职日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone="Asia/Shanghai")
    private Date applyReportDate;
    
    @ApiModelProperty(value = "申请变更入职日期原因")
    private String applyChangeReason;

    @ApiModelProperty(value = "头像")
    private String avatar;

    @ApiModelProperty(value = "头像审批状态")
    private Integer avatarStatus;

    /**
     * （目前用不到，预留）工卡照片驳回说明
     */
    private String rejectReason;

    /**
     * 入司方式：社会招聘；应届毕业生
     */
    private String inType;
    
    @ApiModelProperty(value = "填写进度:1 入职须知；2 基本信息；")
    private OfferWorkerFillStageEnum fillStage;

    /**
     * 入职状态（）
     */
    private OfferWorkerStatusEnum workerStatus;

    /**
     * 员工自我介绍
     */
    private String workerIntroduce;

    /**
     * 线下签署操作人
     */
    private String offlineOperator;

    /**
     * 线下签署时间
     */
    private Date offlineTime;

    /**
     * 计划入职时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone="Asia/Shanghai")
    private Date planReportDate;

    /**
     * 能否编辑北森内容，0为不可；1为可编辑学历；2为可编辑工作；3为可编辑学历和工作
     */
    private String editBeisenAuth;

}

